{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "701cfabd",
   "metadata": {},
   "source": [
    "## AdaGrad"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b397cd80",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{split}\n",
    "\\theta_{t+1,i}&=\\theta_{t,i} - \\frac{\\eta}{\\sqrt{G_{t,ii}+\\epsilon}}\\cdot g_{t,i\\cdot}\\\\\n",
    "G&=\\sum_{\\tau=1}^tg_\\tau g_\\tau^T\n",
    "\\end{split}\n",
    "$$\n",
    "\n",
    "- sparse feature and learning rate\n",
    "\n",
    "    - sparse or dense: BoW (Bag of Words)，偶尔为1（或者说出现）\n",
    "        - 只有在这些不常见的特征出现时，相关的参数才会得到有意义的更新；\n",
    "    - 常见特征的参数相当迅速地收敛到最佳值，而对于不常见的特征，我们仍缺乏足够的观测以确定其最佳值。 \n",
    "    - 换句话说，学习率要么对于常见特征而言降低太慢，要么对于不常见特征而言降低太快。\n",
    "    - leanring rate 的降低\n",
    "        - $\\mathcal{O}(t^{-\\frac{1}{2}}): \\eta = \\frac{\\eta_0}{\\sqrt{t + c}}$\n",
    "        - $\\eta_{i,t} = \\frac{\\eta_0}{\\sqrt{s(i, t) + c}}$\n",
    "- $i$ 表示 parameter（$\\theta$） 的 index；\n",
    "- $G$ 是历史梯度信息的平方；\n",
    "    - $G$ 是一个方阵，对角 $G_{,ii}$ 表示 $\\sum_{t}g_{t,i}^2$\n",
    "    - running sum\n",
    "- $G_{t,ii}$\n",
    "    - 作为 $\\eta$ 的 scaling factor；\n",
    "- Adagrad is an optimizer with parameter-specific learning rates, which are adapted relative to how frequently a parameter gets updated during training. \n",
    "   \n",
    "    - The more updates a parameter receives, the smaller the learning rate.\n",
    "    - 每个坐标轴（axis/dimension/coordinate）都有自己的学习率，"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c64d1b6",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{split}\n",
    "    \\begin{aligned}\n",
    "        \\mathbf{g}_t & = \\partial_{\\mathbf{w}} l(y_t, f(\\mathbf{x}_t, \\mathbf{w})), \\\\\n",
    "        \\mathbf{s}_t & = \\mathbf{s}_{t-1} + \\mathbf{g}_t^2, \\quad \\mathbf{s}_0 = \\mathbf{0}\\\\\n",
    "        \\mathbf{w}_t & = \\mathbf{w}_{t-1} - \\frac{\\eta}{\\sqrt{\\mathbf{s}_t + \\epsilon}} \\odot \\mathbf{g}_t.\n",
    "    \\end{aligned}\n",
    "\\end{split}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "734eede5",
   "metadata": {},
   "source": [
    "$$\n",
    "f(x)=0.1x_1^2 + 2x_2^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "df8832b1",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:04:48.226483Z",
     "start_time": "2023-08-07T13:04:46.395330Z"
    }
   },
   "outputs": [],
   "source": [
    "import math\n",
    "import torch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7aefb305",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:04:48.917933Z",
     "start_time": "2023-08-07T13:04:48.912774Z"
    }
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return 0.1 * x[0] ** 2 + 2 * x[1] ** 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "dfe240cc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:04:49.761708Z",
     "start_time": "2023-08-07T13:04:49.755281Z"
    }
   },
   "outputs": [],
   "source": [
    "def f_grad(x):\n",
    "    return 0.2*x[0], 4*x[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "792b5868",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:04:50.830064Z",
     "start_time": "2023-08-07T13:04:50.819046Z"
    }
   },
   "outputs": [],
   "source": [
    "def adagrad_step(x, s, f_grad, eta=1e-2, eps=1e-6):\n",
    "    g = f_grad(x)\n",
    "    s[0] += g[0]**2\n",
    "    s[1] += g[1]**2\n",
    "    x[0] -= eta / math.sqrt(s[0] + eps) * g[0]\n",
    "    x[1] -= eta / math.sqrt(s[1] + eps) * g[1]\n",
    "#     x[0] -= eta * g[0]\n",
    "#     x[1] -= eta * g[1]\n",
    "    return x, s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "cc938e2f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:05:59.002872Z",
     "start_time": "2023-08-07T13:05:58.993983Z"
    }
   },
   "outputs": [],
   "source": [
    "def train(step_fn, x0, s0, f_grad, steps=20, eta=1e-2):\n",
    "    traces = [x0.copy()]\n",
    "    x = x0\n",
    "    s = s0\n",
    "    for i in range(steps):\n",
    "        x, s = step_fn(x, s, f_grad, eta)\n",
    "        traces.append(x.copy())\n",
    "    return traces"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "072c7b9e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:06:01.293627Z",
     "start_time": "2023-08-07T13:06:00.551488Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-2.382562771979649, -0.15859055003666966]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'x2')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAGwCAYAAACq12GxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBCElEQVR4nO3deXwddb0//tfMnH3NvjVp0n2hLF20lMVS1FpUEEQWURAXlOuXe638FASuAgpUrnj16lWEq6wugKJeBETqpSxSkK2FQhdomyZp9vXs68z8/vjMOTlptpP2JCcneT0fd+7MfGYm55NYzSvv+cxnJF3XdRARERHNUnK+O0BERESUTwxDRERENKsxDBEREdGsxjBEREREsxrDEBEREc1qDENEREQ0qzEMERER0axmyncHpjtN09DW1ga32w1JkvLdHSIiIsqCrusIBAKoqamBLI9d+2EYGkdbWxvq6ury3Q0iIiI6Ci0tLaitrR3zHIahcbjdbgDih+nxePLcG5pq0YSKN5r78eL+Hmzf34v3uoJDjtvMMtY0FGPd/FKsX1KBhlJnnnpKRESZ/H4/6urq0r/Hx8IwNI7UrTGPx8MwNAvouo79XUE8/14Pnn+3G/9s7EU0oaWPKzYHTpjjxWmLynDawnKsqi+C1aTkscdERDSWbIa4MAzRrBeIJvDi/l489243nn+3G60DkSHHKz1WfGBROT6wuBynLSxDsdOSp54SEdFkYBiiWUfXdeztCODZfd147t0uvHaoH0lt8H3FFpOMtfNKsH6xCECLKlwcPE9ENIMxDNGsEIwl8Y/3evDsvi48u68bHf7okOPzypxYv7gc65eU4+R5pbBbeOuLiGi2YBiiGUnXdRzsCWHb3i5s29eFVxr7kFAHqz82s4xTFpThjCXlWL+4HPUc+ExENGsxDNGMEUuq+OfBPjxjBKCm3vCQ4w2lDmxYWoENSyrw/nklsJlZ/SEiIoYhKnC+SAJbd3fi77s78cJ73QjF1fQxsyJh7bxSIwCVY365K489JSKi6YphiApOIJrA3/d04vE32/H8e91Dbn+Vu604c0kFzlxWgVMXlsFl5T9xIiIaG39TUEGIJlQ8s7cLf3mzDc/s7UIsOTj3z+JKFzYdV4UPLa/EihovZJlPfhERUfYYhmjaSqga/vFeDx57sw1Pv9Mx5BbY/HInPn5CDT5+QjUWV44/uygREdFoGIZoWtE0Ha8c6sNjb7bhr7va0R9OpI/NKbLj7BNrcM6JNVhWzRfnEhFRbjAMUd7puo497QH8785WPPZmG9p9g3MAlbms+PgJ1Tj7xBqsmlvEAERERDnHMER509IXxmNvtuHPO1qHvADVbTPhrBVVOOfEOTh5fglMipzHXhIR0UzHMERTaiAcx+NvtePPO1rxWlN/ut2iyDhzaQXOXVmDM5ZUcA4gIiKaMgxDNOliSRXb9nbhj2+0Ytu+rvSj8JIErJtfinNPmoOPrKiC127Oc0+JiGg2YhiiSaHrOl5v6scfd7Tiibfa4YsMDoReVu3BJ1fOwdkn1qDKa8tjL4mIiBiGKMf80QR+/9ph/PrlJjT2hNLtlR4rzj1pDs5bNQdLqzx57CEREdFQDEOUE/u7Arh/exMefeMwwsZ8QE6Lgk0rqnHeyjlYt6AUCidDJCKiaYhhiI6apunYtq8L920/hBfe60m3L6pw4XOnNOC8lXPg5OswiIhomuNvKpowfzSBR15twYMvN6XfDC9JwIeWVeLzpzRg3YJSzgdEREQFg2GIsnaoJ4T7th/C719rSb8aw2Mz4eL3z8WlJ9ejrsSR5x4SERFNHMMQjUnXdbx0oBf3vNiI/9vbBd14QfyiChcuP1XcCnNY+M+IiIgKF3+L0YiiCRWP7WzDPS82Ym9HIN2+YUk5vnDaPJy2sIy3woiIaEZgGKIheoIx/PrlJjz4UhN6Q3EAgN2s4FOra3H5qQ1YUO7Kcw+JiIhyi2GIAIhH43/1j0Y8+kYr4kkNAFDjteFzpzTg4vfNhdfB2aGJiGhmYhia5V491Iefb9uPbfu6020n1nrxpdPn46wVVXxJKhERzXgMQ7PUO20+/OBv+/CsEYIkCdi4vBJfOn0+1tQXczwQERHNGgxDs0xLXxg/fHof/ryzDQBgkiVc+L46fOUD81Ff6sxz74iIiKYew9As0RuM4b+37cevX25KvzX+4ydU4xsbl6ChjCGIiIhmL4ahGS4cT+JXLzTirucPIhhLAgBOW1iGazctxfG13jz3joiIKP8YhmaohKrhkdda8OO/v4fuQAwAsGKOB9duWorTF5XnuXdERETTB8PQDKPrOp7e3Ynbn9qLg90hAMDcEge+8ZEl+Pjx1ZD55ngiIqIhCu656Z///OeYN28ebDYbVq9ejRdeeGHUc5999llIkjRs2bt37xT2eOrsaO7HRXe9jK88+DoOdodQ6rTgprOX4+9Xr8c5J9YwCBEREY2goCpDDz/8MDZv3oyf//znOPXUU3HXXXfhrLPOwu7duzF37txRr9u3bx88Hk96v7x8Zt0mauoN4T/+tg9PvNUOALCaZHzp9Hm4cv0CuG2cLJGIiGgskq6nXr05/a1duxarVq3CnXfemW5btmwZzj33XGzZsmXY+c8++yw2bNiA/v5+FBUVHdVn+v1+eL1e+Hy+IYFqOugPxfGTZ95LPyEmScD5q2rx/21cjGqvPd/dIyIiypuJ/P4umMpQPB7H66+/jm9961tD2jdu3Ijt27ePee3KlSsRjUaxfPly/Pu//zs2bNgw6rmxWAyxWCy97/f7j63jk0DXdfx5Zytu/N934I+KJ8Q+sLgc1521FMuqp1dgIyIimu4KJgz19PRAVVVUVlYOaa+srERHR8eI11RXV+Puu+/G6tWrEYvF8OCDD+KDH/wgnn32WXzgAx8Y8ZotW7bg5ptvznn/c6U3GMMNf3obT70jvuelVW7c8LFlfEKMiIjoKBVMGEo58jURuq6P+uqIJUuWYMmSJen9devWoaWlBXfccceoYei6667D1Vdfnd73+/2oq6vLQc+P3dbdnbjuj2+hJxiHSZaw+UOLcOX6BXx/GBER0TEomDBUVlYGRVGGVYG6urqGVYvGcvLJJ+PXv/71qMetViusVutR93MyBKIJfPcvu/H71w8DABZXuvCfF56EFXM4aSIREdGxKpiSgsViwerVq7F169Yh7Vu3bsUpp5yS9dfZsWMHqqurc929SfPSgV5s+vEL+P3rhyFJwFc+MB+PXXUagxAREVGOFExlCACuvvpqXHrppVizZg3WrVuHu+++G83NzbjyyisBiFtcra2teOCBBwAAP/7xj9HQ0IDjjjsO8Xgcv/71r/Hoo4/i0Ucfzee3kZVoQsUP/rYPv/pHIwCgrsSOH15wEt4/ryTPPSMiIppZCioMXXTRRejt7cV3v/tdtLe3Y8WKFXjyySdRX18PAGhvb0dzc3P6/Hg8jm984xtobW2F3W7HcccdhyeeeAIf/ehH8/UtZGV3mx+bH96BdzuDAIBPv38ubvjYMrisBfUfFxERUUEoqHmG8mEq5xlSNR3/88JB/PDpfUioOspcVvzHp47HmUuzHxNFREREM3SeoZnucH8YVz/yJl5p7AMAfHh5Jb7/yeNR6ppeg7mJiIhmGoahaeCxN9twwx93IRBLwmFRcOPZy3HhmrpRpwwgIiKi3GEYyiNd1/HzZw/gB3/bBwBYNbcIP7roJNSXOvPcMyIiotmDYShPNE3Hdx/fjfu2HwIAfPkD83HNR5ZwAkUiIqIpxjCUB/Gkhm/8/k089mYbJAn49seW4wunzct3t4iIiGYlhqEpFo4nceWv38Dz73bDJEv44YUn4hMnzcl3t4iIiGYthqEpNBCO4/P3vYodzQOwmxX84tLVWL+YL1glIiLKJ4ahKdLui+CyX72C97qCKHKYcc/l78OqucX57hYREdGsxzA0BQ50B3HZr15B60AEVR4bHvzi+7Go0p3vbhEREREYhibdW4cHcPm9r6IvFMf8Mice+OL7UVvsyHe3iIiIyMAwNIm27+/BFQ+8hlBcxQm1Xtx7+fs4ozQREdE0wzA0SV471IfL730VcVXDqQtLcdela/iiVSIiommIv50nQU8whv/32zcQVzV8aFkFfvaZVbCalHx3i4iIiEbA6Y5zTNV0fO2hHej0x7CwwoX/unglgxAREdE0xjCUY//1f+/hxf29sJsV3PmZVXDy1hgREdG0xjCUQ8/u68JPn3kPALDlk8fz8XkiIqICwDCUI20DEXz94Z3QdeAza+fi3JV8xQYREVEhYBjKgXhSw//77RvoDydw/Bwvvv3x5fnuEhEREWWJYSgHtvx1D3Y0D8BjM+Hnn1kFm5kDpomIiAoFw9AxenJXO+598RAA4IcXnoS6Es4uTUREVEgYho5BY08I1/zhLQDAV9bPx4eXV+a5R0RERDRRDEPH4D+e2otgLIn3N5TgmxuX5Ls7REREdBQYho5Sc28Yf3unAwBwy3krYFL4oyQiIipE/A1+lO55sRGaDqxfXI7FnE+IiIioYDEMHYWBcByPvNYCALji9Pl57g0REREdC4aho/CbfzYjHFextMqNUxeW5rs7REREdAwYhiYontRw//ZDAIAvf2A+JEnKb4eIiIjomDAMTdBjb7ahKxBDpceKj59Qk+/uEBER0TFiGJoAXdfxyxcOAgAuP2UeLCb++IiIiAodf5tPwD/292BvRwAOi4JL3j83390hIiKiHGAYmoD7jNduXLimDl6HOb+dISIiopxgGJqAnS0DAIBPrpqT344QERFRzjAMZckXTqA3FAcALCh35bk3RERElCsMQ1k61BsEAFR6rHBaTXnuDREREeUKw1CWmnrDAID5ZawKERERzSQMQ1k61CPC0LxyZ557QkRERLnEMJSlpt4QAGB+GcMQERHRTFJwYejnP/855s2bB5vNhtWrV+OFF14Y8/znnnsOq1evhs1mw/z58/GLX/ziqD63MRWGWBkiIiKaUQoqDD388MPYvHkzbrjhBuzYsQOnn346zjrrLDQ3N494fmNjIz760Y/i9NNPx44dO3D99dfj3/7t3/Doo49O+LOb+ozbZBwzRERENKNIuq7r+e5EttauXYtVq1bhzjvvTLctW7YM5557LrZs2TLs/GuvvRaPPfYY9uzZk2678sor8eabb+Kll14a8TNisRhisVh63+/3o66uDnWbH4HF7sSe722CWSmoDElERDTr+P1+eL1e+Hw+eDyeMc8tmN/q8Xgcr7/+OjZu3DikfePGjdi+ffuI17z00kvDzv/IRz6C1157DYlEYsRrtmzZAq/Xm17q6urSx0qcFgYhIiKiGaZgfrP39PRAVVVUVlYOaa+srERHR8eI13R0dIx4fjKZRE9Pz4jXXHfddfD5fOmlpaUlfaw7GEM0oR7jd0JERETTScHNHihJ0pB9XdeHtY13/kjtKVarFVardVi7y6ogrIv5hpZUuSfabSIiIpqmCqYyVFZWBkVRhlWBurq6hlV/UqqqqkY832QyobS0dEKf31AqniJr7AlO6DoiIiKa3gomDFksFqxevRpbt24d0r5161accsopI16zbt26Yec//fTTWLNmDczmib11vr7UAQA42BOa0HVEREQ0vRVMGAKAq6++Gr/85S9xzz33YM+ePfj617+O5uZmXHnllQDEeJ/LLrssff6VV16JpqYmXH311dizZw/uuece/OpXv8I3vvGNCX926pH6g90MQ0RERDNJQY0Zuuiii9Db24vvfve7aG9vx4oVK/Dkk0+ivr4eANDe3j5kzqF58+bhySefxNe//nX87Gc/Q01NDX7yk5/g/PPPn/BnpypDjawMERERzSgFNc9QPqTmKXhpTzMuvu8tlDgteOPbH853t4iIiGgMM3KeoXyrNwZQ94XiGAjH89wbIiIiyhWGoSw5rSZUeWwAgL0dgTz3hoiIiHKFYWgC1i0Qj+M/9MrI70IjomlIU4HGF4BdfxBrjROnEtFQDEMT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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x0 = [-5, -2]\n",
    "s0 = [0, 0]\n",
    "traces = train(adagrad_step, x0, s0, f_grad, eta=.4)\n",
    "print(traces[-1])\n",
    "# traces\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "plt.plot(*zip(*traces), '-o', color='#ff7f0e')\n",
    "x1, x2 = torch.meshgrid(torch.arange(-5.5, 1., .1), \n",
    "               torch.arange(-3, 1., .1), indexing='ij')\n",
    "plt.contour(x1, x2, f([x1, x2]), colors='#1f77b4')\n",
    "plt.xlabel('x1')\n",
    "plt.ylabel('x2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "2064be7d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-07T13:06:35.078378Z",
     "start_time": "2023-08-07T13:06:34.840818Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-0.002295340252192116, -1.4349291647375306e-162]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'x2')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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W0NERETZwjA0THs6wwCAcp8dbrslx60hIiKibGEYGqa9nVEAwPQS9goRERFNJOziGKY9HSIMTSt157glRGNM14C9G4BwK+ApB2qPA2Ql163KHxPh+xsPn2G02nA4rzvccw923P77a5YBDf8cuB1qBiLtgKtYrMNtwMcvAcF6QJbFcWffDTj4R/tIMQwN097OCABgegnDEE0iHz4BPPc9INjUW+erAlbfDMw/PXftyhcT4fsbD59htNpwOK873HMPdtxg+yUZMPSht4ey/W/Az6YAVYuBr68/+PGUkXeXyW677TZMmzYNDocDS5YswWuvvXbA41955RUsWbIEDocD06dPx29/+9tDet/d6TDEniGaLD58Anj0S/3/RxoAgs2i/sMnctOufDERvr/x8BlGqw2H87rDPfdgxz3/o8H37x98hhOE+mp6F7hz5cjOmeTyKgw98sgjWLNmDa699lps2rQJJ554Ik499VTU19cPevzu3bvxmc98BieeeCI2bdqEH/zgB/jP//xPPP744yN+771d5mUy3jNEk4Guib9WYQyy06x77vviOBpoInx/4+EzjFYbDud1h3tuKnGQ4wzgjf8dYn8WNL0LxMOj89oTkGQYxij9J5F9y5Ytw+LFi3H77bdn6ubNm4czzjgD69atG3D89773PTzxxBP46KOPMnVXXHEFtmzZgjfeeGPQ91BVFaqqZraDwSBqampQs+ZR2JxufPTT1bAqeZUhiUZu92vAfZ87+HEzThb3NFB/4VZg50sHP248f3/j4TOMVhsO53WHe27VIqBp0/DbNBrmfAY4/6HctiGHgsEg/H4/AoEAfD7fAY/Nm3uGEokE3nnnHXz/+9/vV79q1Sps2LBh0HPeeOMNrFq1ql/dKaecgrvuugvJZBJW68BRpNetW4e1a9cO+npFbhuDEE0O4dbhHTecHwUa2kT4/sbDZxitNhzO6+Y6CAFA955ctyBv5E0Y6ujogKZpKC/vn9LLy8vR0tIy6DktLS2DHp9KpdDR0YHKysoB51xzzTW46qqrMtvpniEAaA+riCc1OKx59iQI0UgN96/sJV8BiqaNblvyUddu4J17Dn7ceP7+xsNnGK02HM7rDvfc2auBj58bfptGQ2Fdbt8/j+RNGEqTJKnftmEYA+oOdvxg9Wl2ux12u31AvceuIGqI8YbmVHhH2myi/FJ7nHh8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OzT83kaO39lAfr9/WMflNAylw82hSHdo9e3F6WvatGmoqKjACy+8gEWLFgEAEokEXnnlFdx8882H1mAiIiKacPJiZK+33noL//u//4vNmzdj7969WL9+PS644ALMmDGjX6/Q3Llz8ec//xmAuBN/zZo1uOmmm/DnP/8Z//rXv3DJJZfA5XLhggsuyNVHISIionEmL54mczqd+NOf/oTrrrsOkUgElZWVWL16NR5++OF+l7S2bduWefoLAK6++mrEYjF885vfzAy6+Pzzzw97jKHxzm6347rrrhtwWY+Gxu/s0PB7Gzl+Z4eG39vI8Ts7fHk7zhARERFRNuTFZTIiIiKi0cIwRERERJMawxARERFNagxDRERENKkxDE0QdXV1YmK/Psv3v//9XDcrb6iqioULF0KSJGzevDnXzRnXTj/9dEydOhUOhwOVlZW4+OKL0dTUlOtmjWt79uzB1772NUybNg1OpxMzZszAddddh0QikeumjWs33ngjjjvuOLhcrnE/+G0u3XbbbZg2bRocDgeWLFmC1157LddNyjsMQxPIT37yEzQ3N2eWH/7wh7luUt64+uqrUVVVletm5IWVK1fi0UcfxbZt2/D4449j586d+MIXvpDrZo1rW7duha7ruOOOO/DBBx/gv//7v/Hb3/4WP/jBD3LdtHEtkUjgnHPOwTe+8Y1cN2XceuSRR7BmzRpce+212LRpE0488USceuqpqK+vz3XT8gofrZ8g6urqsGbNGqxZsybXTck7zz77LK666io8/vjjOOKII7Bp0yYsXLgw183KG0888QTOOOMMqKoKq9Wa6+bkjZ///Oe4/fbbsWvXrlw3Zdy79957sWbNGvT09OS6KePOsmXLsHjxYtx+++2Zunnz5uGMM87AunXrctiy/MKeoQnk5ptvRnFxMRYuXIgbb7yRXfDD0NraissuuwwPPPAAXC5XrpuTd7q6uvDggw/iuOOOYxAaoUAggKKiolw3g/JYIpHAO++8g1WrVvWrX7VqFTZs2JCjVuUnhqEJ4lvf+hYefvhhrF+/HldeeSV++ctf4pvf/GaumzWuGYaBSy65BFdccQWWLl2a6+bkle9973twu90oLi5GfX09/vrXv+a6SXll586d+PWvf40rrrgi102hPNbR0QFN0wZMPl5eXo6WlpYctSo/MQyNY9dff/2Am6L3X95++20AwLe//W2sWLECRx11FC699FL89re/xV133YXOzs4cf4qxN9zv7de//jWCwSCuueaaXDc550bybw0Avvvd72LTpk14/vnnoSgKvvSlL2EyXnEf6fcGAE1NTVi9ejXOOeccXHrppTlqee4cyndGByZJUr9twzAG1NGB8Z6hcayjowMdHR0HPKaurg4Oh2NAfWNjI6qrq/Hmm29i2bJlo9XEcWm439t5552HJ598st//aGiaBkVRcOGFF+K+++4b7aaOG4fzb23fvn2oqanBhg0b+k2cPBmM9HtramrCypUrsWzZMtx7772Q5cn39+ih/FvjPUODSyQScLlceOyxx3DmmWdm6r/1rW9h8+bNeOWVV3LYuvySFxO1TlYlJSUoKSk5pHM3bdoEAKisrMxmk/LCcL+3X/3qV7jhhhsy201NTTjllFPwyCOPTLoAeTj/1tJ/T6mqms0m5YWRfG+NjY1YuXIllixZgnvuuWdSBiHg8P6tUX82mw1LlizBCy+80C8MvfDCC/j85z+fw5blH4ahCeCNN97Am2++iZUrV8Lv92Pjxo349re/nRkPhga3/3fj8XgAADNmzEB1dXUumjTuvfXWW3jrrbdwwgknoLCwELt27cKPf/xjzJgxY9L1Co1EU1MTTjrpJEydOhW33HIL2tvbM/sqKipy2LLxrb6+Hl1dXaivr4emaZkxwGbOnJn57+tkd9VVV+Hiiy/G0qVLsXz5ctx5552or6/n/WgjxDA0AdjtdjzyyCNYu3YtVFVFbW0tLrvsMlx99dW5bhpNME6nE3/6059w3XXXIRKJoLKyEqtXr8bDDz8Mu92e6+aNW88//zx27NiBHTt2DAjavFNhaD/+8Y/7Xa5etGgRAGD9+vU46aSTctSq8eXcc89FZ2dnZpy5BQsW4JlnnkFtbW2um5ZXeM8QERERTWqT86I1ERERkYlhiIiIiCY1hiEiIiKa1BiGiIiIaFJjGCIiIqJJjWGIiIiIJjWGISIiIprUGIaIiIhoUmMYIiIiokmNYYiIJrXm5mZccMEFmDNnDmRZxpo1a3LdJCIaYwxDRDSpqaqK0tJSXHvttTj66KNz3RwiygGGISKa0Nrb21FRUYGbbropU/fPf/4TNpsNzz//POrq6vA///M/+NKXvgS/35/DlhJRrnDWeiKa0EpLS3H33XfjjDPOwKpVqzB37lxcdNFF+OY3v4lVq1blunlENA4wDBHRhPeZz3wGl112GS688EJ84hOfgMPhwM9+9rNcN4uIxgleJiOiSeGWW25BKpXCo48+igcffBAOhyPXTSKicYJhiIgmhV27dqGpqQm6rmPv3r25bg4RjSO8TEZEE14ikcCFF16Ic889F3PnzsXXvvY1vP/++ygvL89104hoHGAYIqIJ79prr0UgEMCvfvUreDwePPvss/ja176Gp556CgCwefNmAEA4HEZ7ezs2b94Mm82G+fPn57DVRDRWJMMwjFw3gohotLz88sv49Kc/jfXr1+OEE04AANTX1+Ooo47CunXr8I1vfAOSJA04r7a2Fnv27Bnj1hJRLjAMERER0aTGG6iJiIhoUmMYIiIiokmNYYiIiIgmNYYhIiIimtQYhoiIiGhSYxgiIiKiSY1hiIiIiCY1hiEiIiKa1BiGiIiIaFJjGCIiIqJJjWGIiIiIJrX/DxJmriK0vrHzAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x0 = [-5, -2]\n",
    "s0 = [0, 0]\n",
    "traces = train(adagrad_step, x0, s0, f_grad, eta=2)\n",
    "print(traces[-1])\n",
    "# traces\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "plt.plot(*zip(*traces), '-o', color='#ff7f0e')\n",
    "x1, x2 = torch.meshgrid(torch.arange(-5.5, 1., .1), \n",
    "               torch.arange(-3, 1., .1), indexing='ij')\n",
    "plt.contour(x1, x2, f([x1, x2]), colors='#1f77b4')\n",
    "plt.xlabel('x1')\n",
    "plt.ylabel('x2')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1d250824",
   "metadata": {},
   "source": [
    "## rmsprop"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "319288e2",
   "metadata": {},
   "source": [
    "- adaptive gradient，$\\eta_{i,t} = \\frac{\\eta_0}{\\sqrt{s(i, t) + c}}, \\mathcal O(t^{-\\frac12})$\n",
    "    - coordinate-adaptive learning rates.\n",
    "    \n",
    "$$\n",
    "\\begin{split}\\begin{aligned}\n",
    "    \\mathbf{s}_t & \\leftarrow \\gamma \\mathbf{s}_{t-1} + (1 - \\gamma) \\mathbf{g}_t^2, \\\\\n",
    "    \\mathbf{w}_t & \\leftarrow \\mathbf{w}_{t-1} - \\frac{\\eta}{\\sqrt{\\mathbf{s}_t + \\epsilon}} \\odot \\mathbf{g}_t.\n",
    "\\end{aligned}\\end{split}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3d2e72eb",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{split}\n",
    "\\mathbf s_t&=(1-\\gamma)\\mathbf g_t^2 + \\gamma\\mathbf s_{t-1}\\\\\n",
    "&=(1-\\gamma)\\mathbf g_t^2 + \\gamma \\left((1-\\gamma)\\mathbf g_{t-1}^2+\\gamma s_{t-2}\\right)\\\\\n",
    "&=(1-\\gamma)(\\mathbf g_t^2+\\gamma \\mathbf g_{t-1}^2 + \\gamma^2\\mathbf g_{t-2}^2+\\cdots)\n",
    "\\end{split}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "a17e839d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-06T15:02:39.156498Z",
     "start_time": "2023-08-06T15:02:39.146422Z"
    }
   },
   "outputs": [],
   "source": [
    "def rmsprop_step(x, s, f_grad, eta=1e-2, gamma=0.9, eps=1e-6, ):\n",
    "    g = f_grad(x)\n",
    "    s[0] = gamma*s[0] + (1-gamma)*g[0]**2\n",
    "    s[1] = gamma*s[1] + (1-gamma)*g[1]**2\n",
    "    x[0] -= eta / math.sqrt(s[0] + eps) * g[0]\n",
    "    x[1] -= eta / math.sqrt(s[1] + eps) * g[1]\n",
    "    return x, s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "d99faba3",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-08-06T15:02:40.260113Z",
     "start_time": "2023-08-06T15:02:40.021452Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-0.01059867213411372, 1.0362121337275157e-14]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'x2')"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x0 = [-5, -2]\n",
    "s0 = [0, 0]\n",
    "traces = train(rmsprop_step, x0, s0, f_grad, eta=.4)\n",
    "print(traces[-1])\n",
    "# traces\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "plt.plot(*zip(*traces), '-o', color='#ff7f0e')\n",
    "x1, x2 = torch.meshgrid(torch.arange(-5.5, 1., .1), \n",
    "               torch.arange(-3, 1., .1), indexing='ij')\n",
    "plt.contour(x1, x2, f([x1, x2]), colors='#1f77b4')\n",
    "plt.xlabel('x1')\n",
    "plt.ylabel('x2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ae01cf1",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
